.TH std::basic_string::append_range 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::basic_string::append_range \- std::basic_string::append_range

.SH Synopsis
   template< container-compatible-range<CharT> R >       (since C++23)
   constexpr std::basic_string& append_range( R&& rg );

   Appends all characters from the range rg.

   Equivalent to

 return append(std::basic_string( std::from_range, std::forward<R>(rg), get_allocator()));

.SH Parameters

   rg - a container compatible range

.SH Return value

   *this

.SH Complexity

   Linear in size of rg.

.SH Exceptions

   If the operation would result in size() > max_size(), throws std::length_error.

   If an exception is thrown for any reason, this function has no effect (strong
   exception safety guarantee).

.SH Notes

       Feature-test macro       Value    Std                   Feature
   __cpp_lib_containers_ranges 202202L (C++23) member functions that accept container
                                               compatible range

.SH Example


// Run this code

 #include <cassert>
 #include <string>

 int main()
 {
     std::string head{"long long"};
     const auto tail = {' ', 'i', 'n', 't'};

 #ifdef __cpp_lib_containers_ranges
     head.append_range(tail);
 #else
     head.append(tail.begin(), tail.end());
 #endif

     assert(head == "long long int");
 }

.SH See also

   append appends characters to the end
          \fI(public member function)\fP
